Software modules, such as application programming interfaces, continue to become increasingly complex. Such modules may include a larger number of input parameters and parameter combinations. The testing of software modules typically includes selecting parameter values and parameter value combinations. The combinations of parameter values are then applied to the software module and the resulting output is analyzed.
The selection of parameter values and combinations of parameter values is critical to ensure that a software module is operating properly. It is generally desirable to test the values and combinations of values that are mostly likely to occur during the operation of the software module. Existing systems and methods for selecting parameter values and combinations of parameter values can be time consuming and error prone. For example, manually selecting parameter values and combinations of parameter values can take a long time. And, for complex software modules that have a large number of parameters, the manual selection of parameter values and combinations of parameter values can result in a testing procedure that does not include testing critical inputs.
Therefore, there is a need in the art for efficient and accurate systems and methods for selecting input parameters and combinations of parameter values to use when testing software modules.